package com.ruoyi.system.mapper.basic;

import java.util.List;
import com.ruoyi.system.domain.db.basic.BasicVehicles;
import com.ruoyi.system.domain.dto.TransportExternalDto;
import com.ruoyi.system.domain.dto.VehicleDto;

import javax.validation.constraints.Max;

/**
 * 汽车管理Mapper接口
 * 
 * @author ruoyi
 * @date 2023-07-25
 */
public interface BasicVehiclesMapper 
{
    /**
     * 查询汽车管理
     * 
     * @param vehicleId 汽车管理主键
     * @return 汽车管理
     */
    public VehicleDto selectBasicVehiclesByVehicleId(Long vehicleId);

    /**
     * 查询汽车管理列表
     * 
     * @param basicVehicles 汽车管理
     * @return 汽车管理集合
     */
    public List<VehicleDto> selectBasicVehiclesList(BasicVehicles basicVehicles);

    /**
     * 新增汽车管理
     * 
     * @param basicVehicles 汽车管理
     * @return 结果
     */
    public int insertBasicVehicles(BasicVehicles basicVehicles);

    /**
     * 修改汽车管理
     * 
     * @param basicVehicles 汽车管理
     * @return 结果
     */
    public int updateBasicVehicles(BasicVehicles basicVehicles);

    /**
     * 删除汽车管理
     * 
     * @param vehicleId 汽车管理主键
     * @return 结果
     */
    public int deleteBasicVehiclesByVehicleId(Long vehicleId);

    /**
     * 批量删除汽车管理
     * 
     * @param vehicleIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBasicVehiclesByVehicleIds(Long[] vehicleIds);

    List<BasicVehicles> selectUnDeliveringVehicleList();

    BasicVehicles selectInternalVehicleByTaskId(Long taskId);

    TransportExternalDto selectExternalVehicleByTaskId(Long taskId);
}
